Chcę przenieść bazę danych z:
Windows Serwer 64-bit
Oracle 10.2.0 64-bit
na inny komputer.
Zatrzymałem serwis Oracle i skopiowałem wszystkie pliki z katalogu
"oradata":
- pliki control (.ctl)
- .dbf
- pliki redo (.log)
- pliki .ora
Baza ma około 50GB.
Najwięcej TEMP01.DBF (17GB), UNDOTBS01.DBF (6GB) i kilka plików .ORA
po około 5GB.
Wrzuciłem je do katalogu "oradata" na dwóch różnych konfiguracjach:
1.
Windows XP 32-bit
Oracle 10.2.0 32-bit
2.
Windows 7 64-bit
Oracle 11.2.0 64 bit
Na obydwu otrzymuję przy próbie łączenia komunikat:
ORA-12528: TNS:nasłuch: nowe połączenia są blokowane przez wszystkie
odpowiednie instancje.
Czy można w ten sposób przenosić bazę na inny serwer? Co trzeba
jeszcze zrobić, żeby zadziałało?
Czy w Oracle jest odpowiednik Attach z MSSQL?
Pozdrawiam.
W Oracle jest to nieco bardziej skomplikowane,
a żonglowanie plikami z wnętrznościami bazy to średni pomysł.
Jak w poprzedniej pracy musiałem robić za jednoosobowy zespół
to używałem poleceń exp/imp (miałem stareńką 8.1.7, w nowszych
są expdp/impdp) by zrobić dump bazy, który następnie wciągałem
do drugiej pustej bazy. To był prosty sposób na moje nieskomplikowane
potrzeby i małą bazę. Nie opiszę innych metod bo nie jestem adminem
i nie chcę udzielać kiepskich porad.
Przede wszystkim zacznij od poczytania dokumentacji
http://www.oracle.com/technetwork/database/enterprise-edition/documentation/index.html
--
Pozdrawiam, Piotr.Kuc-(szympans)-kuciak.net
Piotr Kuć
>Na obydwu otrzymuję przy próbie łączenia komunikat:
>
>ORA-12528: TNS:nasłuch: nowe połączenia są blokowane przez wszystkie
>odpowiednie instancje.
>
>
>Czy można w ten sposób przenosić bazę na inny serwer? Co trzeba
>jeszcze zrobić, żeby zadziałało?
Można to zrobić, ale nie tak jak to zrobiłeś.
Przede wszystkim jeśli przenosisz pliki binarne, to architektura i system muszą
się zgadzać.
Źródłem jest Oracle 10.2.0 64-bit na Windows Serwer 64-bit, zatem możesz pliki
skopiować co najwyżej na inny Windows 64-bit z dokładnie tą samą wersją bazy.
Tak przy okazji, wersja bazy ma 5 pozycji, ty podałeś tylko 3 - one też są
istotne.
Po drugie - przenosząc w ten sposób pliki musisz je umieścić dokładnie w tych
samych katalogach, co na serwerze źródłowym. Żeby nie mieszać, nie podaję jak
można z tego zrezygnować. :)
Kolejna sprawa - na komputerze docelowym musisz uruchomić najpierw instancję,
żeby dało się to wszystko uruchomić. No i skonfigurować listener.
Zapoznaj się z poleceniem "oradim" (%ORACLE_HOME%\bin\oradim), które tworzy
instancję. Podpowiedź: oradim -new -sid SIDZRODLOWY ....
Instancję tworzysz jak masz już pliki na swoim miejscu. Najpierw też musisz
utworzyć plik haseł poleceniem "orapwd" i umieścić plik parametrów w
%ORACLE_HOME%\database (na początek najlepiej tekstowy, nie spfile).
Dopiero wtedy możesz uruchomić instancję (czy też zrestartować). Pamiętaj o
utworzeniu katalogów również dla plików logu (admin/bdump, admin/udump itd.) -
wtedy możesz podejrzeć w alertSID.log czy instancja faktycznie startuje i czy
otwiera bazę.
Są też inne opcje przenoszenia bazy - odtworzenie z backupu RMAN, eksport
schematów, pełen eksport, transportable tablespace.
Ale to wykracza poza tematykę dzisiejszego odcinka, do zobaczenia w przyszłym
tygodniu. Wszystkich telewidzów zapraszam na kolejny odcinek "Bonda". ;)
--
Sławomir Szyszło
Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych
FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/
Archiwum http://groups.google.com/groups?group=pl.comp.bazy-danych
Ladnie to wszystko uprosciles...
> Można to zrobić, ale nie tak jak to zrobiłeś.
tak tez by sie dalo. jak baza byla czysto zamknieta, to stworzyc usluge,
skonfigurowac listenera, przekonwertowac pliki (o ile sie da) i jazda...
> Przede wszystkim jeśli przenosisz pliki binarne, to architektura i system muszą
> się zgadzać.
Nie musza - w wersji 10 mamy calkiem ciekawe mozliwosci konwesji
> Źródłem jest Oracle 10.2.0 64-bit na Windows Serwer 64-bit, zatem możesz pliki
> skopiować co najwyżej na inny Windows 64-bit z dokładnie tą samą wersją bazy.
> Tak przy okazji, wersja bazy ma 5 pozycji, ty podałeś tylko 3 - one też są
> istotne.
64bity bym zachowal, ale reszte calkiem fajnie sie konwertuje
> Po drugie - przenosząc w ten sposób pliki musisz je umieścić dokładnie w tych
> samych katalogach, co na serwerze źródłowym. Żeby nie mieszać, nie podaję jak
> można z tego zrezygnować. :)
nie trzeba - w zaleznosci od potrzeb i mozliwosci - tworzymy nowy plik
kontrolny z nowymi lokalizacjami albo alterujemy stare lokalizacje w juz
istniejacym pliku
> Kolejna sprawa - na komputerze docelowym musisz uruchomić najpierw instancję,
> żeby dało się to wszystko uruchomić. No i skonfigurować listener.
> Zapoznaj się z poleceniem "oradim" (%ORACLE_HOME%\bin\oradim), które tworzy
> instancję. Podpowiedź: oradim -new -sid SIDZRODLOWY ....
fakt
> Instancję tworzysz jak masz już pliki na swoim miejscu. Najpierw też musisz
> utworzyć plik haseł poleceniem "orapwd" i umieścić plik parametrów w
> %ORACLE_HOME%\database (na początek najlepiej tekstowy, nie spfile).
a czemu? widzisz na tym etapie jakas roznice miedzy tymi dwoma
postaciami? create spfile from pfile pisze sie dosc szybko...
> Dopiero wtedy możesz uruchomić instancję (czy też zrestartować). Pamiętaj o
> utworzeniu katalogów również dla plików logu (admin/bdump, admin/udump itd.) -
> wtedy możesz podejrzeć w alertSID.log czy instancja faktycznie startuje i czy
> otwiera bazę.
ale te lokalizacje wskazujemy w pliku parametrowym, wiec moga byc "dowolne"
> Są też inne opcje przenoszenia bazy - odtworzenie z backupu RMAN, eksport
> schematów, pełen eksport, transportable tablespace.
> Ale to wykracza poza tematykę dzisiejszego odcinka, do zobaczenia w przyszłym
> tygodniu. Wszystkich telewidzów zapraszam na kolejny odcinek "Bonda". ;)
OK - zaraz wlacze telewizor....
Pozdrawiam
Mariusz Masewicz
>W dniu 2010-10-05 19:54, Sławomir Szyszło pisze:
>
>Ladnie to wszystko uprosciles...
>
>> Można to zrobić, ale nie tak jak to zrobiłeś.
>
>tak tez by sie dalo. jak baza byla czysto zamknieta, to stworzyc usluge,
>skonfigurowac listenera, przekonwertowac pliki (o ile sie da) i jazda...
>
>> Przede wszystkim jeśli przenosisz pliki binarne, to architektura i system muszą
>> się zgadzać.
>
>Nie musza - w wersji 10 mamy calkiem ciekawe mozliwosci konwesji
Autor wątku nie opisał stopnia znajomości bazy, więc nie chcę mącić konwersjami
plików itp.
>> Źródłem jest Oracle 10.2.0 64-bit na Windows Serwer 64-bit, zatem możesz pliki
>> skopiować co najwyżej na inny Windows 64-bit z dokładnie tą samą wersją bazy.
>> Tak przy okazji, wersja bazy ma 5 pozycji, ty podałeś tylko 3 - one też są
>> istotne.
>
>64bity bym zachowal, ale reszte calkiem fajnie sie konwertuje
Hmm, ale konwersja nie zastąpi upgrade, jeśli chcemy pliki z 10g podpiąć do bazy
11g (a autor o takiej opcji pisał).
>> Po drugie - przenosząc w ten sposób pliki musisz je umieścić dokładnie w tych
>> samych katalogach, co na serwerze źródłowym. Żeby nie mieszać, nie podaję jak
>> można z tego zrezygnować. :)
>
>nie trzeba - w zaleznosci od potrzeb i mozliwosci - tworzymy nowy plik
>kontrolny z nowymi lokalizacjami albo alterujemy stare lokalizacje w juz
>istniejacym pliku
No przecież celowo tego nie napisałem. :) Wszystko w swoim czasie.
>> Instancję tworzysz jak masz już pliki na swoim miejscu. Najpierw też musisz
>> utworzyć plik haseł poleceniem "orapwd" i umieścić plik parametrów w
>> %ORACLE_HOME%\database (na początek najlepiej tekstowy, nie spfile).
>
>a czemu? widzisz na tym etapie jakas roznice miedzy tymi dwoma
>postaciami? create spfile from pfile pisze sie dosc szybko...
Zwykle trzeba dostosować parametry do nowej maszyny, więc osobiście przy takiej
operacji zaczynam od pfile, a jak wszystko zadziała to tworzę spfile.
>> Dopiero wtedy możesz uruchomić instancję (czy też zrestartować). Pamiętaj o
>> utworzeniu katalogów również dla plików logu (admin/bdump, admin/udump itd.) -
>> wtedy możesz podejrzeć w alertSID.log czy instancja faktycznie startuje i czy
>> otwiera bazę.
>
>ale te lokalizacje wskazujemy w pliku parametrowym, wiec moga byc "dowolne"
Mogą, ale gdy katalogi nie istnieją (a są wpisane w pliku parametrów) to OIDP
baza nie startuje.
Pozwolę sobie podpiąć się z trochę innym pytaniem,
mam kopie zrobioną standardowym skryptem backup z ubuntu z wersji XE.
Chciałbym ją przywrócić na windows XP. Backup taki się wysypie przez
różnice w ścieżkach. Ma ktoś jakiś know how jak przerobić skrypt
recovery i co na jakim etapie pozmieniac?
Pozdrawiam
J.
>W dniu 10-10-05 22:27, Sławomir Szyszło pisze:
>
>Pozwolę sobie podpiąć się z trochę innym pytaniem,
>mam kopie zrobioną standardowym skryptem backup z ubuntu z wersji XE.
>Chciałbym ją przywrócić na windows XP. Backup taki się wysypie przez
>różnice w ścieżkach. Ma ktoś jakiś know how jak przerobić skrypt
>recovery i co na jakim etapie pozmieniac?
A jak wygląda ten skrypt i co robi?
backup z windows xp.
z tego co wiem odbywa sie analogicznie na linuxach:
setlocal
@(
echo connect / as sysdba;
echo set head off
echo set echo off
echo set linesize 515
echo variable var varchar2^(512^)^;
echo execute :var :=
sys.dbms_backup_restore.normalizefilename^(^'FRA_LOC^'^)^;
echo spool %temp%\backup_rmanlog.log
echo select
sys.dbms_backup_restore.normalizefilename^(^'OXE_BACKUP_CURRENT.LOG^'^)
BACKUP_RMANLOG from dual^;
echo exit^;
) > %temp%\backup_rmanlog.sql
sqlplus /nolog @%temp%\backup_rmanlog.sql >nul
FOR /F %%i in (%temp%\backup_rmanlog.log) do set BACKUP_RMANLOG=%%i
@(
echo connect / as sysdba;
echo set head off
echo set echo off
echo set linesize 515
echo variable var varchar2^(512^)^;
echo execute :var :=
sys.dbms_backup_restore.normalizefilename^(^'FRA_LOC^'^)^;
echo spool %temp%\backup_rmanprevlog.log
echo select
sys.dbms_backup_restore.normalizefilename^(^'OXE_BACKUP_PREVIOUS.LOG^'^)
BACKUP_RMANLOG from dual^;
echo exit^;
) > %temp%\backup_rmanprevlog.sql
sqlplus /nolog @%temp%\backup_rmanprevlog.sql >nul
FOR /F %%i in (%temp%\backup_rmanprevlog.log) do set BACKUP_RMANPREVLOG=%%i
@(
echo connect / as sysdba;
echo set head off
echo set echo off
echo set linesize 515
echo spool %temp%\backup_fra.log
echo select value from v$parameter where
lower^(name^)=^'db_recovery_file_dest^'^;
echo exit^;
) > %temp%\backup_fra.sql
sqlplus /nolog @%temp%\backup_fra.sql >nul
set BACKUP_FRA=
FOR /F %%i in (%temp%\backup_fra.log) do set BACKUP_FRA=%%i
if "%BACKUP_FRA%"=="" set Errorstr= Flash Recovery Area is not
enabled & goto :backupfailederr
@(
echo connect / as sysdba;
echo set head off
echo set echo off
echo set linesize 515
echo spool %temp%\backup_fra2.log
echo select
sys.dbms_backup_restore.normalizefilename^(^'%BACKUP_FRA%^'^) BACKUP_FRA
from dual^;
echo exit^;
) > %temp%\backup_fra2.sql
sqlplus /nolog @%temp%\backup_fra2.sql >nul
FOR /F %%i in (%temp%\backup_fra2.log) do set BACKUP_FRA=%%i
@(
echo connect / as sysdba;
echo set head off
echo set echo off
echo set linesize 515
echo variable var varchar2^(512^)^;
echo execute :var :=
sys.dbms_backup_restore.normalizefilename^(^'SPFILE2INIT^'^)^;
echo spool %temp%\backup_spfile2init.log
echo select
sys.dbms_backup_restore.normalizefilename^(^'SPFILE2INIT.ORA^'^)
spfile2init from dual^;
echo exit^;
) > %temp%\backup_spfile2init.sql
sqlplus /nolog @%temp%\backup_spfile2init.sql >nul
FOR /F %%i in (%temp%\backup_spfile2init.log) do set SPFILE2INIT=%%i
@(
echo connect / as sysdba;
echo set head off
echo set echo off
echo spool %temp%\logmode.log
echo select log_mode from v$database^;
echo exit^;
) > %temp%\logmode.sql
sqlplus /nolog @%temp%\logmode.sql >nul
FOR /F %%i in (%temp%\logmode.log) do set LOGMODE=%%i
if "%LOGMODE%" == "NOARCHIVELOG" goto process_noarchivelog
if "%LOGMODE%" == "ARCHIVELOG" goto process_archivelog
set Errorstr= Unknown log mode : %LOGMODE%
goto :backupfailederr
:process_noarchivelog
echo Warning: Log archiving ^(ARCHIVELOG mode^) is currently
disabled. If
echo you restore the database from this backup, any transactions
that take
echo place between this backup and the next backup will be lost. It is
echo recommended that you enable ARCHIVELOG mode before proceeding so
echo that all transactions can be recovered upon restore. See the
section
echo 'Enabling ARCHIVELOG Mode...' in the online help for instructions.
echo Backup with log archiving disabled will shut down and restart the
set /p inp="database. Are you sure [Y/N]? "
:checkinp
if /i "%inp%" == "Y" goto :confirmedyes
if /i "%inp%" == "n" exit & goto :EOF
:Askagain
set /p inp=
goto :checkinp
:confirmedyes
if exist %BACKUP_RMANLOG% copy %BACKUP_RMANLOG% %BACKUP_RMANPREVLOG% /y >nul
echo Backup in progress...
@(
echo set echo on^;
echo shutdown immediate^;
echo startup mount^;
echo configure controlfile autobackup format for device type disk
clear^;
echo configure retention policy to redundancy 2^;
echo configure controlfile autobackup on^;
echo sql ^"create pfile=^'^'%SPFILE2INIT%^'^' from spfile^"^;
echo backup as backupset device type disk database^;
echo configure controlfile autobackup off^;
echo alter database open^;
echo delete noprompt obsolete^;
) > %temp%\backup_rman.dat
rman target / @%temp%\backup_rman.dat trace "%BACKUP_RMANLOG%"
if not %errorlevel% == 0 set Errorstr= RMAN Error - See log for
details & goto :backupfailederr
goto :backupsucess
:process_archivelog
if exist %BACKUP_RMANLOG% copy %BACKUP_RMANLOG% %BACKUP_RMANPREVLOG% /y >nul
echo Doing online backup of the database.
@(
echo set echo on^;
echo configure controlfile autobackup format for device type disk
clear^;
echo configure retention policy to redundancy 2^;
echo configure controlfile autobackup on^;
echo sql ^"create pfile=^'^'%SPFILE2INIT%^'^' from spfile^"^;
echo backup as backupset device type disk database^;
echo configure controlfile autobackup off^;
echo sql ^'alter system archive log current^'^;
echo delete noprompt obsolete^;
) > %temp%\backup_rman.dat
rman target / @%temp%\backup_rman.dat trace "%BACKUP_RMANLOG%"
if not %errorlevel% == 0 set Errorstr= RMAN Error - See log for
details & goto :backupfailederr
REM Switch an archived log if database is open
@(
echo set echo on^;
echo sql ^'alter system archive log current^'^;
) > %temp%\backup_rman2.dat
rman target / @%temp%\backup_rman2.dat trace "%BACKUP_RMANLOG%"
goto :backupsucess
:backupsucess
echo Backup of the database succeeded.
echo Log file is at %BACKUP_RMANLOG%.
pause Press any key to exit
exit
goto :EOF
#################################################################
i restore z windows
setlocal
set /p inp="This operation will shut down and restore the database. Are
you sure [Y/N]?"
:checkinp
if /i "%inp%" == "Y" goto :confirmedyes
if /i "%inp%" == "n" exit
:Askagain
set /p inp=
goto :checkinp
:confirmedyes
echo Restore in progress...
echo db_name=xe >%temp%\rman_dummy.ora
echo sga_target=270M >>%temp%\rman_dummy.ora
net start oracleserviceXe
REM Startup database in nomount mode using RMAN...
@(
echo set echo on^;
echo startup nomount pfile=%temp%\rman_dummy.ora force^;
) > %temp%\restore_rman0.dat
rman target / @%temp%\restore_rman0.dat
if not %errorlevel% == 0 set Errorstr= RMAN Error - could not
startup dummy instance & goto :restorefailederr
@(
echo connect / as sysdba^;
echo set head off
echo set echo off
echo set linesize 515
echo variable var varchar2^(512^)^;
echo execute :var :=
sys.dbms_backup_restore.normalizefilename^(^'SPFILE2INIT^'^)^;
echo spool %temp%\spfile2init.log
echo select
sys.dbms_backup_restore.normalizefilename^(^'SPFILE2INIT.ORA^'^)
spfile2init from dual^;
echo exit^;
) > %temp%\spfile2init.sql
sqlplus /nolog @%temp%\spfile2init.sql >nul
FOR /F %%i in (%temp%\spfile2init.log) do set SPFILE2INIT=%%i
@(
echo connect / as sysdba;
echo set head off
echo set echo off
echo set linesize 515
echo variable var varchar2^(512^)^;
echo execute :var :=
sys.dbms_backup_restore.normalizefilename^(^'FRA_LOC^'^)^;
echo spool %temp%\restore_rmanlog.log
echo select
sys.dbms_backup_restore.normalizefilename^(^'OXE_RESTORE.LOG^'^)
RESTORE_RMANLOG from dual^;
echo exit^;
) > %temp%\restore_rmanlog.sql
sqlplus /nolog @%temp%\restore_rmanlog.sql >nul
FOR /F %%i in (%temp%\restore_rmanlog.log) do set RESTORE_RMANLOG=%%i
if not exist ^"%SPFILE2INIT%^" goto get_rcvarea_loc
@(
echo set echo on^;
echo shutdown immediate^;
echo startup nomount pfile=^"%SPFILE2INIT%^"^;
echo restore ^(spfile from autobackup^) ^(controlfile from
autobackup^)^;
echo startup mount force^;
echo configure controlfile autobackup off^;
echo restore database^;
) > %temp%\restore_rman1.dat
rman target / @%temp%\restore_rman1.dat trace "%RESTORE_RMANLOG%"
if not %errorlevel% == 0 set Errorstr= RMAN Error - See log for
error & goto :restorefailederr
goto restored_files
:get_rcvarea_loc
set /p rcvarea_loc="Enter the flash recovery area location:"
@(
echo set echo on^;
echo restore ^(spfile from autobackup
db_recovery_file_dest=^'%rcvarea_loc%^'^)^;
echo startup nomount force^;
echo restore ^(controlfile from autobackup^)^;
echo alter database mount^;
echo configure controlfile autobackup off^;
echo restore database^;
) > %temp%\restore_rman1.dat
rman target / @%temp%\restore_rman1.dat trace "%RESTORE_RMANLOG%"
if not %errorlevel% == 0 set Errorstr= RMAN Error - See log for
error & goto :restorefailederr
goto restored_files
:restored_files
@(
echo connect / as sysdba^;
echo declare cursor n1 is select name from v$tempfile^;
echo begin
echo for a in n1
echo loop
echo begin
echo sys.dbms_backup_restore.deletefile^(a.name^)^;
echo exception
echo when others then
echo null^;
echo end^;
echo end loop^;
echo end^;
echo /
echo exit^;
echo /
) > %temp%\deltfile.sql
sqlplus /nolog @%temp%\deltfile.sql >nul
@(
echo connect / as sysdba^;
echo set head off
echo set echo off
echo spool %temp%\logmode.log
echo select log_mode from v$database^;
echo exit^;
) > %temp%\logmode.sql
sqlplus /nolog @%temp%\logmode.sql >nul
FOR /F %%i in (%temp%\logmode.log) do set LOGMODE=%%i
if "%LOGMODE%" == "NOARCHIVELOG" goto process_noarchivelog
if "%LOGMODE%" == "ARCHIVELOG" goto process_archivelog
set Errorstr= Unknown log mode : %LOGMODE%
goto :restorefailederr
:process_noarchivelog
@(
echo set echo on^;
echo alter database open resetlogs;
) > %temp%\restore_rman2.dat
rman target / @%temp%\restore_rman2.dat trace "%RESTORE_RMANLOG%" append
if not %errorlevel% == 0 set Errorstr= RMAN Error - See log for
details & goto :restorefailederr
goto :restoresucess
:process_archivelog
@(
echo set echo on^;
echo recover database^;
echo alter database open resetlogs;
) > %temp%\restore_rman2.dat
rman target / @%temp%\restore_rman2.dat trace "%RESTORE_RMANLOG%" append
if not %errorlevel% == 0 set Errorstr= RMAN Error - See log for
details & goto :restorefailederr
goto :restoresucess
:restoresucess
echo Restore of the database succeeded.
echo Log file is at %RESTORE_RMANLOG%.
pause Press any key to exit
exit
goto :EOF
:restorefailederr
echo ==================== ERROR =============================
echo Restore of the database failed.
echo %Errorstr%.
echo Log file is at %RESTORE_RMANLOG%.
echo ==================== ERROR =============================
pause Press any key to exit
exit
goto :EOF
to sa defaulty.
myslalem raczej ze ktos ma jakies gotowe know how ;-).
i wydaje mi sie ze normalne oracle tez maja takie default sksrypty?
>backup z windows xp.
>z tego co wiem odbywa sie analogicznie na linuxach:
(...)
>to sa defaulty.
>myslalem raczej ze ktos ma jakies gotowe know how ;-).
>i wydaje mi sie ze normalne oracle tez maja takie default sksrypty?
Nie ma "domyślnych" skryptów. Ale ty chcesz przenosić pomiędzy różnymi
systemami, więc zwykły backup rman-em nie wystarczy. Albo zrobisz eksport/import
albo użyjesz metody z transportable tablespaces (o ile w XE da się to zrobić).
Przy czym ta druga metoda nie jest raczej prosta, wymaga weryfikacji zawartości
bazy pod kątem przeniesienia, przygotowania dodatkowych skryptów itp.
system z którego kopiowałem juz został zlikwidowany. Będę musiał chyba
gdzieś zainstalować na chwilę linuxa i zrobic export...
myślałem że da się to ogarnąć łatwiej.
thx.
>Chc� przenie�� baz� danych z:
>Windows Serwer 64-bit
>Oracle 10.2.0 64-bit
>na inny komputer.
Na zapasowym kompie tworzysz baze i serwis o takim samy sidzie
jak na produkcyjnym. Wersje Oracla musza byc identyczne.
Robisz shutdown bazy i nie zamykasz sql'a
Kopiujesz w miejsce wlasnych baz pliki z serwera produkcyjnego
Usuwasz pliki redo i controle i temp01.dbf
Wracasz do sql'a.
Odpalasz baze - tworzac od nowa pliki controlne i redo oraz temp.
Szczegoly w dokumentacji i manualach i pliku alertlog..
pozdrawiam
Po takim opisie - zaczalbym sie dziwic, ze ludzie chca tego rakiela kupowac.
HINT
1) oradim - tworzysz serwis
2) kopiujesz pliki gdzie chcesz
3) startujesz baze do trybu "nomount"
4) na podstawie tekstowego backupu pliku kontrolnego tworzysz nowy plik
kontrolny i pokazujesz w nim, to |gdzie chcesz" z punktu drugiego
5) startujesz bazke do konca a po wystartowaniu tworzysz pliki
tymczasowych przestrzeni tabel.
I najwazniejsze - pomiedzy kazdym krokiem mozesz dowolnie duzo razy
zrestarwowac windowsy i wypic dowolnie duzo piwa.
Na innych systemach - zacznij czytac od punktu drugiego.
Pozdro
Maseďż˝